package com.fstrat.webservices.restws;

import javax.ws.rs.Consumes;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.QueryParam;
import javax.ws.rs.core.MediaType;

import com.fstrat.backend.entities.Addition;

@Path("addition")
public class AdditionWS {
	@GET
	@Produces(MediaType.TEXT_PLAIN)
	public String addtionString() {
		return "Du musst zur Addition schon Parameter eingeben!";
	}	
	
	@GET
	@Produces(MediaType.TEXT_PLAIN)
	@Path("params")
	public String addtionInt(@QueryParam("zahl1")int zahl1, @QueryParam("zahl2")int zahl2) {
		return Integer.toString(zahl1 + zahl2);
	}
	
	@GET
	@Produces(MediaType.APPLICATION_JSON)
	@Path("addtionJSON")
	public Addition addtionJSON(@QueryParam("zahl1")int zahl1, @QueryParam("zahl2")int zahl2, @QueryParam("zahl3")int zahl3) {
		Addition addition = new Addition();
		addition.setZahl1(zahl1);
		addition.setZahl2(zahl2);
		addition.setZahl3(zahl3);
		addition.setErgebnis(zahl1+zahl2+zahl3);
		return addition;
	}
	
	@POST
	@Consumes(MediaType.APPLICATION_JSON)
	@Produces(MediaType.APPLICATION_JSON)
	public Addition addtionTotalJSON(Addition addition) {
		addition.setErgebnis(addition.getZahl1()+addition.getZahl2()+addition.getZahl3());
		return addition;
	}
}
